﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DATA.Base;
using DATA.BusinessObjects;
using DATA.ManagerObjects;
using NHibernate;

namespace BUS
{
    public class DoanhThuTheoLoaiPhongBUS
    {
        #region Bình - thêm doanh thu theo loại phòng
        public static Boolean ThemDoanhThuTheoLoaiPhong(Doanhthutheoloaiphong dttlp)
        {
            Boolean flag = false;
            ISession isession = NHibernateSessionManager.Instance.CreateISession();
            ITransaction iTrans = null;
            try
            {
                iTrans = isession.BeginTransaction();
                isession.Save(dttlp);
                iTrans.Commit();
                flag = true;
            }
            catch (Exception ex)
            {
                iTrans.Rollback();
                isession.Close();
                throw new Exception("Lỗi", ex);
            }
            return flag;
        }
        #endregion

        #region Binh - Lấy doanh thu theo loại phòng cuối cùng
        public static Doanhthutheoloaiphong LayDoanhThuTheoLoaiPhongCuoiCung()
        {
            Doanhthutheoloaiphong dttlp = null;
            IManagerFactory MF = new ManagerFactory();
            IDoanhthutheoloaiphongManager DTTLPM = MF.GetDoanhthutheoloaiphongManager();
            String hql = "FROM Doanhthutheoloaiphong dttlp "
                        + "WHERE length(dttlp.Id) = (Select MAX(length(dttlp.Id)) "
                                                + "from Doanhthutheoloaiphong dttlp) "
                        + "ORDER BY dttlp.Id desc";

            IList<Doanhthutheoloaiphong> list = DTTLPM.GetByQuery(hql);
            if(list.Count > 0)
                dttlp = list[0];
            return dttlp;
        }
        #endregion

        #region Binh - Lấy doanh thu theo loại phòng theo tháng
        public static Doanhthutheoloaiphong LayDoanhThuTheoLoaiPhongTheoThang(int thang)
        {
            Doanhthutheoloaiphong dttlp = null;
            IManagerFactory MF = new ManagerFactory();
            IDoanhthutheoloaiphongManager DTTLPM = MF.GetDoanhthutheoloaiphongManager();
            String hql = "FROM Doanhthutheoloaiphong dttlp "
                        + "WHERE dttlp.Thang = " + thang;

            IList<Doanhthutheoloaiphong> list = DTTLPM.GetByQuery(hql);
            if (list.Count > 0)
                dttlp = list[0];
            return dttlp;
        }
        #endregion
    }
}
